﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DBLayer
{
    //public partial class Sales
    //{
    //    private static Entities db = new Entities();
    //    public static Sale Find(Int32 folio, DateTime date)
    //    {
    //        return db.Sales.Where(h => h.Folio == folio
    //            && h.Date.Day.Equals(date.Day)
    //            && h.Date.Month.Equals(date.Month)
    //            && h.Date.Year.Equals(date.Year)).SingleOrDefault();
    //    }

    //    public static bool ToInvoiced(Int32 folio, DateTime date)
    //    {
    //        bool result = false;
    //        Sale sale = db.Sales.Where(h => h.Folio == folio
    //            && h.Date.Day.Equals(date.Day)
    //            && h.Date.Month.Equals(date.Month)
    //            && h.Date.Year.Equals(date.Year)).SingleOrDefault();
    //        result = (sale != null);
    //        if (result)
    //        {
    //            sale.Invoiced = true;
    //            db.SaveChanges();
    //        }

    //        return result;
    //    }

    //    public static Int32 GetNextFolio()
    //    {
    //        return GetLastFolio() + 1;
    //    }

    //    public static Int32 GetLastFolio()
    //    {
    //        DateTime date = DateTime.Now;
    //        int maxFolio = 0;

    //        if (db.Sales.Where(h => h.Date.Day.Equals(date.Day)
    //            && h.Date.Month.Equals(date.Month)
    //            && h.Date.Year.Equals(date.Year)).Count() > 0)
    //        {
    //            maxFolio = db.Sales.Where(h => h.Date.Day.Equals(date.Day)
    //             && h.Date.Month.Equals(date.Month)
    //             && h.Date.Year.Equals(date.Year)).Max(p => p.Folio);
    //        }

    //        return maxFolio;
    //    }

    //    public static void CutDayByCashier(DateTime date, Int32 cashierId)
    //    {

    //        //var cutSales = db.Sales.Where(f => f.SystemUserId == cashierId
    //        //                  && f.Date.Day.Equals(DateTime.Today.Day)
    //        //                  && f.Date.Month.Equals(DateTime.Today.Month)
    //        //                  && f.Date.Year.Equals(DateTime.Today.Year))
    //        //                .Select(t=> new{ SubTotal = t.sum

    //        //var cutSales = db.Sales.Where(f => f.SystemUserId == cashierId
    //        //                  && f.Date.Day.Equals(DateTime.Today.Day)
    //        //                  && f.Date.Month.Equals(DateTime.Today.Month)
    //        //                  && f.Date.Year.Equals(DateTime.Today.Year))
    //        //          .SelectMany(s => s.SaleDetail
    //        //          .GroupBy(d => d.Product.ProductCategoryId)
    //        //          .Select(f => new { Venta = f.Sum(item => item.Sale.Total)}));    


    //        //var cutSales = db.Sales.Where(h => h.SystemUserId == cashierId
    //        //                   && h.Date.Day.Equals(DateTime.Today.Day)
    //        //                   && h.Date.Month.Equals(DateTime.Today.Month)
    //        //                   && h.Date.Year.Equals(DateTime.Today.Year)) 
    //        //           .Select(lg =>
    //        //                    new
    //        //                    {
    //        //                        SubTotal = lg.Sum(item => item.SubTotal),
    //        //                        IVA = lg.Sum(item => item.IVA),
    //        //                        Total = lg.Sum(item => item.Total),
    //        //                        Discounts = lg.Sum(item => item.TotalDiscount)
    //        //                    }); 
    //    }
    //}
}
